package com.dg.util;

import lombok.extern.slf4j.Slf4j;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;

/**
 * 发送邮件工具类
 */
@Slf4j
public class EmailUtil {
    public static void main(String[] args) {
        sendTestQQEmail("10001@qq.com","zxpxufebrpszbbag",
                "测试Spring邮件","您的订单号码: 20181120075; 请勿告诉别人!","10001@qq.com");
    }

    /**
     * 发送普通文本邮件
     * @param email     发送邮件的邮箱账号
     * @param password  授权码
     * @param title     邮件标题
     * @param text      邮件信息
     * @param toEmail   收件人邮箱账号
     */
    public static void sendTestQQEmail(String email, String password, String title, String text,String toEmail) {
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
        // 参考QQ邮箱帮助中心
        mailSender.setHost("smtp.qq.com");              // QQ邮箱smtp发送服务器地址
        mailSender.setPort(587);                        // 端口号
        mailSender.setUsername(email);                  // 使用你自己的账号
        mailSender.setPassword(password);               // 授权码-发短信获取
        // 邮件信息
        SimpleMailMessage msg = new SimpleMailMessage();
        msg.setFrom(email);                             // 发件人邮箱
        msg.setTo(toEmail);                             // 收件人邮箱
        msg.setSubject(title);                          // 邮件标题
        msg.setText(text);                              // 邮件信息
        try {
            mailSender.send(msg);
            log.info("邮件发送成功!");
        } catch (MailException e) {
            log.error("发送邮件失败：{}",e.getMessage());
        }
    }

}
